{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import numpy as np #导入NumPy数学工具箱\nimport pandas as pd #导入Pandas数据处理工具箱\n# 读入数据并显示前面几行的内容，这是为了确保我们的文件读入正确性\n# 示例代码是在Kaggle中数据集中读入文件，如果在本机中需要指定具体本地路径\ndf_ads = pd.read_csv('../input/advertising-simple-dataset/advertising.csv')\ndf_ads.head()","execution_count":2,"outputs":[{"output_type":"execute_result","execution_count":2,"data":{"text/plain":"   wechat  weibo  others  sales\n0   304.4   93.6   294.4    9.7\n1  1011.9   34.4   398.4   16.7\n2  1091.1   32.8   295.2   17.3\n3    85.5  173.6   403.2    7.0\n4  1047.0  302.4   553.6   22.1","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>wechat</th>\n      <th>weibo</th>\n      <th>others</th>\n      <th>sales</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>304.4</td>\n      <td>93.6</td>\n      <td>294.4</td>\n      <td>9.7</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1011.9</td>\n      <td>34.4</td>\n      <td>398.4</td>\n      <td>16.7</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1091.1</td>\n      <td>32.8</td>\n      <td>295.2</td>\n      <td>17.3</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>85.5</td>\n      <td>173.6</td>\n      <td>403.2</td>\n      <td>7.0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1047.0</td>\n      <td>302.4</td>\n      <td>553.6</td>\n      <td>22.1</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"# 导入数据可视化所需要的库\nimport matplotlib.pyplot as plt # matplotlib – Python画图工具库\nimport seaborn as sns # seaborn – 统计学数据可视化工具库\n# 对所有的标签和特征两两显示其相关性热力图(heatmap)\nsns.heatmap(df_ads.corr(), cmap=\"YlGnBu\", annot = True)\nplt.show() # plt 英文意为plot,就是画图的意思","execution_count":3,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 2 Axes>","image/png":"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\n"},"metadata":{"needs_background":"light"}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"# 显示销量和各种广告投放量的散点图。\nsns.pairplot(df_ads, x_vars=['wechat', 'weibo', 'others'], \n                          y_vars='sales', \n                          height=4, aspect=1, kind='scatter')\nplt.show()","execution_count":4,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 864x288 with 3 Axes>","image/png":"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\n"},"metadata":{"needs_background":"light"}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"X = np.array(df_ads.wechat) #构建特征集，只有微信广告一个特征\ny = np.array(df_ads.sales) #构建标签集，销售金额\nprint (\"张量X的阶:\",X.ndim)\nprint (\"张量X的形状:\", X.shape)\nprint (X)","execution_count":5,"outputs":[{"output_type":"stream","text":"张量X的阶: 1\n张量X的形状: (200,)\n[ 304.4 1011.9 1091.1   85.5 1047.   940.9 1277.2   38.2  342.6  347.6\n  980.1   39.1   39.6  889.1  633.8  527.8  203.4  499.6  633.4  437.7\n  334.  1132.   841.3  435.4  627.4  599.2  321.2  571.9  758.9  799.4\n  314.   108.3  339.9  619.7  227.5  347.2  774.4 1003.3   60.1   88.3\n 1280.4  743.9  805.4  905.    76.9 1088.8  670.2  513.7 1067.    89.2\n  130.1  113.8  195.7 1000.1  283.5 1245.3  681.1  341.7  743.   976.9\n 1308.6  953.7 1196.2  488.7 1027.4  830.8  984.6  143.3 1092.5  993.7\n 1290.4  638.4  355.8  854.5    3.2  615.2   53.2  401.8 1348.6   78.3\n 1188.9 1206.7  899.1  364.9  854.9 1099.7  909.1 1293.6  311.2  411.3\n  881.3 1091.5   18.7  921.4 1214.4 1038.8  427.2  116.5  879.1  971.\n  899.1  114.2   78.3   59.6  748.5  681.6  261.6 1083.8 1322.7  753.5\n 1259.9 1080.2   33.2  909.1 1092.5 1208.5  766.2  467.3  611.1  202.5\n   24.6  442.3 1301.3  314.9  634.7  408.1  560.1  503.7 1154.8 1130.2\n  932.8  958.7 1044.2 1274.9  550.6 1259.   196.1  548.3  650.2   81.4\n  499.6 1033.8  219.8  971.4  779.4 1019.2 1141.6  994.2  986.4 1318.1\n  300.8  588.8 1056.1  179.7 1080.2  255.7 1011.9  941.4  928.7  167.9\n  271.2  822.6 1162.1  596.5  990.5  533.3 1335.9  308.5 1106.6  805.4\n 1002.4  347.6  443.6  389.9  642.9  243.4  841.3   35.5   85.1  784.9\n  428.6  173.8 1037.4  712.5  172.9  456.8  396.8 1332.7  546.9  857.2\n  905.9  475.9  959.1  125.1  689.3  869.5 1195.3  121.9  343.5  796.7]\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"# X = X.reshape((len(X),1)) #通过reshape函数把向量转换为矩阵，len函数返回样本个数\n# y = y.reshape((len(y),1)) #通过reshape函数把向量转换为矩阵，len函数返回样本个数\nX = X.reshape(-1,1) #也可以利用索引-1通过reshape函数把向量转换为矩阵\ny = y.reshape(-1,1) #也可以利用索引-1通过reshape函数把向量转换为矩阵\nprint (\"张量X的形状:\", X.shape)\nprint (X)","execution_count":6,"outputs":[{"output_type":"stream","text":"张量X的形状: (200, 1)\n[[ 304.4]\n [1011.9]\n [1091.1]\n [  85.5]\n [1047. ]\n [ 940.9]\n [1277.2]\n [  38.2]\n [ 342.6]\n [ 347.6]\n [ 980.1]\n [  39.1]\n [  39.6]\n [ 889.1]\n [ 633.8]\n [ 527.8]\n [ 203.4]\n [ 499.6]\n [ 633.4]\n [ 437.7]\n [ 334. ]\n [1132. ]\n [ 841.3]\n [ 435.4]\n [ 627.4]\n [ 599.2]\n [ 321.2]\n [ 571.9]\n [ 758.9]\n [ 799.4]\n [ 314. ]\n [ 108.3]\n [ 339.9]\n [ 619.7]\n [ 227.5]\n [ 347.2]\n [ 774.4]\n [1003.3]\n [  60.1]\n [  88.3]\n [1280.4]\n [ 743.9]\n [ 805.4]\n [ 905. ]\n [  76.9]\n [1088.8]\n [ 670.2]\n [ 513.7]\n [1067. ]\n [  89.2]\n [ 130.1]\n [ 113.8]\n [ 195.7]\n [1000.1]\n [ 283.5]\n [1245.3]\n [ 681.1]\n [ 341.7]\n [ 743. ]\n [ 976.9]\n [1308.6]\n [ 953.7]\n [1196.2]\n [ 488.7]\n [1027.4]\n [ 830.8]\n [ 984.6]\n [ 143.3]\n [1092.5]\n [ 993.7]\n [1290.4]\n [ 638.4]\n [ 355.8]\n [ 854.5]\n [   3.2]\n [ 615.2]\n [  53.2]\n [ 401.8]\n [1348.6]\n [  78.3]\n [1188.9]\n [1206.7]\n [ 899.1]\n [ 364.9]\n [ 854.9]\n [1099.7]\n [ 909.1]\n [1293.6]\n [ 311.2]\n [ 411.3]\n [ 881.3]\n [1091.5]\n [  18.7]\n [ 921.4]\n [1214.4]\n [1038.8]\n [ 427.2]\n [ 116.5]\n [ 879.1]\n [ 971. ]\n [ 899.1]\n [ 114.2]\n [  78.3]\n [  59.6]\n [ 748.5]\n [ 681.6]\n [ 261.6]\n [1083.8]\n [1322.7]\n [ 753.5]\n [1259.9]\n [1080.2]\n [  33.2]\n [ 909.1]\n [1092.5]\n [1208.5]\n [ 766.2]\n [ 467.3]\n [ 611.1]\n [ 202.5]\n [  24.6]\n [ 442.3]\n [1301.3]\n [ 314.9]\n [ 634.7]\n [ 408.1]\n [ 560.1]\n [ 503.7]\n [1154.8]\n [1130.2]\n [ 932.8]\n [ 958.7]\n [1044.2]\n [1274.9]\n [ 550.6]\n [1259. ]\n [ 196.1]\n [ 548.3]\n [ 650.2]\n [  81.4]\n [ 499.6]\n [1033.8]\n [ 219.8]\n [ 971.4]\n [ 779.4]\n [1019.2]\n [1141.6]\n [ 994.2]\n [ 986.4]\n [1318.1]\n [ 300.8]\n [ 588.8]\n [1056.1]\n [ 179.7]\n [1080.2]\n [ 255.7]\n [1011.9]\n [ 941.4]\n [ 928.7]\n [ 167.9]\n [ 271.2]\n [ 822.6]\n [1162.1]\n [ 596.5]\n [ 990.5]\n [ 533.3]\n [1335.9]\n [ 308.5]\n [1106.6]\n [ 805.4]\n [1002.4]\n [ 347.6]\n [ 443.6]\n [ 389.9]\n [ 642.9]\n [ 243.4]\n [ 841.3]\n [  35.5]\n [  85.1]\n [ 784.9]\n [ 428.6]\n [ 173.8]\n [1037.4]\n [ 712.5]\n [ 172.9]\n [ 456.8]\n [ 396.8]\n [1332.7]\n [ 546.9]\n [ 857.2]\n [ 905.9]\n [ 475.9]\n [ 959.1]\n [ 125.1]\n [ 689.3]\n [ 869.5]\n [1195.3]\n [ 121.9]\n [ 343.5]\n [ 796.7]]\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"# 将数据集进行80%（训练集）和20%（验证集）的分割\nfrom sklearn.model_selection import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, y, \n                                   test_size=0.2, random_state=0)","execution_count":7,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def range_0_1(data_train, data_test): # 定义归一化函数 ，进行数据压缩    \n    # 数据的压缩\n    min = data_train.min(axis=0) # 训练集最小值\n    max = data_train.max(axis=0) # 训练集最大值\n    gap = max - min # 最大值和最小值的差\n    data_train -= min # 所有数据减最小值\n    data_train /= gap # 所有数据除以大小值差\n    data_test -= min #把训练集最小值应用于测试集\n    data_test /= gap #把训练集大小值差应用于测试集\n    return data_train, data_test # 返回压缩后的数据","execution_count":8,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"X_train,X_test = range_0_1(X_train,X_test) # 对特征归一化\ny_train,y_test = range_0_1(y_train,y_test) # 对标签也归一化","execution_count":9,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.plot(X_train,y_train,'r.', label='Training data') # 用matplotlib.pyplot的plot方法显示散点图\nplt.xlabel('Wechat Ads') # x轴Label\nplt.ylabel('Sales') # y轴Label\nplt.legend() # 显示图例\nplt.show() # 显示绘图结果！","execution_count":10,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAYUAAAEKCAYAAAD9xUlFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3X+QXGWd7/H3N5OQoIlk78RfmxCDLKAhyK8RHRM1iCK4V6LAdUGpIHLJKoYVXREo/MFNaglXrku0zC4EDBALQYQtydUgWyIRNIMwQFSIFxJRYYAtcBRQNCGT+d4/Tnen0+kfp7vP0+ec7s+ramqmu8/0eU5P8nzP831+mbsjIiICMCHtAoiISHYoKIiISImCgoiIlCgoiIhIiYKCiIiUKCiIiEiJgoKIiJQoKIiISImCgoiIlExMuwDNmjFjhs+ZMyftYoiI5Mr999//e3d/ZaPjchcU5syZw/DwcNrFEBHJFTP7XZzjlD4SEZESBQURESlRUBARkZLc9SlUs2PHDkZGRti2bVvaRZEyU6ZMYdasWUyaNCntoohITF0RFEZGRpg2bRpz5szBzNIujgDuzujoKCMjI+y3335pF0dEYgqWPjKzNWb2jJk9VON1M7OvmdlWM/uFmR3R6rm2bdtGf3+/AkKGmBn9/f1qvYnkTMg+hWuB4+q8fjxwQOFrCfDv7ZxMASF79DeRnjU0BCtWRN9zJlj6yN3vMrM5dQ5ZBKz1aD/Qe8xsupm91t2fDlUmEZHghobgmGPgpZdgr73gjjtgcDDtUsWW5uijmcATZY9HCs/twcyWmNmwmQ0/++yzHSlcM0ZHRznssMM47LDDeM1rXsPMmTNLj1966aVY73HGGWfwyCOP1D1m1apVXH/99UkUeTc//OEP+cAHPlD3mAceeIAf/OAHiZ9bpOts2BAFhJ07o+8bNqRdoqak2dFcLbfg1Q5099XAaoCBgYGqx6Spv7+fTZs2AXDxxRczdepUPvvZz+52jLvj7kyYUD0OX3PNNQ3P88lPfrL9wrbogQce4KGHHuK44+plBEWEhQujFkKxpbBwYdolakqaLYURYN+yx7OApzp29g7k/LZu3cq8efP4+Mc/zhFHHMHTTz/NkiVLGBgY4OCDD2bZsmWlYxcsWMCmTZsYGxtj+vTpXHDBBRx66KEMDg7yzDPPAPD5z3+elStXlo6/4IILOOqoozjooIPYuHEjAC+++CInnXQShx56KKeeeioDAwOlgFXu+9//PgcddBALFizg1ltvLT1/zz33MDg4yOGHH878+fPZsmULf/3rX1m2bBnXX389hx12GDfffHPV40SEKFV0xx2wfHnuUkfArjvYEF/AHOChGq/9PXAbUYvhrcC9cd7zyCOP9EqbN2/e47m6Nm5033tv976+6PvGjc39fh1f+tKX/LLLLnN39y1btriZ+b333lt6fXR01N3dd+zY4QsWLPCHH37Y3d3nz5/vDz74oO/YscMBX79+vbu7f/rTn/YVK1a4u/tFF13kl19+een4z33uc+7ufuutt/p73/ted3dfsWKFn3322e7uvmnTJp8wYYI/+OCDu5XxxRdf9JkzZ/rWrVt9fHzcTzzxRF+0aJG7uz/33HM+Njbm7u633Xabf+hDH3J396uuuso/9alPld6j1nGVmv7biEgQwLDHqGODpY/M7AZgITDDzEaALwGTCoHoCmA98D5gK/AX4IxQZdlDtZxfoGi+//778+Y3v7n0+IYbbuAb3/gGY2NjPPXUU2zevJm5c+fu9jt77703xx9/PABHHnkkd999d9X3PvHEE0vH/Pa3vwXgJz/5Ceeffz4Ahx56KAcffPAev7d582YOPPBA9t9/fwA+8pGPsHbtWgCee+45Fi9ezK9//eu61xX3OBHJl5Cjj05t8LoD6STJO5jze/nLX176ecuWLXz1q1/l3nvvZfr06Zx22mlVx/HvtddepZ/7+voYGxur+t6TJ0/e45joY22s1nDRiy66iPe+972cffbZbN26tWYfQtzjRCRfenPto5Ryfi+88ALTpk3jFa94BU8//TS333574udYsGABN910EwC//OUv2bx58x7HzJ07l0cffZTf/OY3uDs33HBD6bXnn3+emTOjQWDXXntt6flp06bxpz/9qeFxIpJvvRkUIAoEF17Y0U6gI444grlz5zJv3jzOOuss5s+fn/g5zjnnHJ588kne9KY38ZWvfIV58+axzz777HbMy172Mq644gqOP/543v72t/P617++9Nr555/Peeedt0fZ3vWud/Hzn/+cww8/nJtvvrnmcSKSbxY33ZAVAwMDXrnJzq9+9Sve+MY3plSibBkbG2NsbIwpU6awZcsWjj32WLZs2cLEiemMPtbfRiQb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\n"},"metadata":{"needs_background":"light"}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.linear_model import LinearRegression #导入线性回归算法模型\nmodel = LinearRegression() #使用线性回归算法\nmodel.fit(X_train, y_train) #用训练集数据，训练机器，拟合函数，确定参数","execution_count":11,"outputs":[{"output_type":"execute_result","execution_count":11,"data":{"text/plain":"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"y_pred = model.predict(X_test) #预测测试集的Y值\nprint ('销量的真值(测试集)',y_test)\nprint ('预测的销量(测试集)',y_pred)\nprint(\"线性回归预测评分：\", model.score(X_test, y_test)) #评估预测结果","execution_count":12,"outputs":[{"output_type":"stream","text":"销量的真值(测试集) [[ 0.37815126]\n [ 0.90336134]\n [ 0.73529412]\n [ 0.71428571]\n [ 0.14285714]\n [ 0.76890756]\n [ 0.58823529]\n [ 0.79831933]\n [ 0.16806723]\n [ 0.63865546]\n [ 0.74369748]\n [ 0.31092437]\n [ 0.45378151]\n [ 0.65966387]\n [ 0.88235294]\n [ 0.10504202]\n [ 0.42016807]\n [ 0.81512605]\n [ 0.71008403]\n [-0.06722689]\n [ 0.51680672]\n [ 0.56302521]\n [ 0.73529412]\n [ 0.31932773]\n [ 0.96638655]\n [ 0.34033613]\n [ 0.55462185]\n [ 0.31512605]\n [ 0.74369748]\n [ 0.23109244]\n [ 0.28991597]\n [ 0.7394958 ]\n [ 0.39495798]\n [ 0.60084034]\n [ 0.73529412]\n [ 0.70168067]\n [ 0.71428571]\n [ 0.79411765]\n [ 0.36554622]\n [ 0.36134454]]\n预测的销量(测试集) [[0.47947693]\n [0.66283604]\n [0.70328437]\n [0.60156726]\n [0.18237553]\n [0.68022783]\n [0.63227619]\n [0.73200566]\n [0.18441286]\n [0.68952001]\n [0.63863661]\n [0.36752352]\n [0.37771013]\n [0.7014955 ]\n [0.75550942]\n [0.18371719]\n [0.47266929]\n [0.62825123]\n [0.66328326]\n [0.1663254 ]\n [0.51878236]\n [0.6711841 ]\n [0.70576891]\n [0.24816617]\n [0.81498932]\n [0.32121168]\n [0.55475852]\n [0.39172294]\n [0.81136189]\n [0.20294753]\n [0.26580641]\n [0.78353504]\n [0.31420527]\n [0.7014955 ]\n [0.58278414]\n [0.59068498]\n [0.72634091]\n [0.68499815]\n [0.34605708]\n [0.29472647]]\n线性回归预测评分： 0.8493759729652094\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.linear_model import Ridge #导入线性岭回归算法模型 \nmodel = Ridge() #使用线性回归算法\nmodel.fit(X_train, y_train) #用训练集数据，训练机器，拟合函数，确定参数\ny_pred = model.predict(X_test) #预测测试集的Y值\nprint(\"线性回归预测评分：\", model.score(X_test, y_test)) #评估预测结果","execution_count":13,"outputs":[{"output_type":"stream","text":"线性回归预测评分： 0.8321997015566182\n","name":"stdout"}]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.4","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}